package com.hex.ds.hdtp.core.app.common.util;

import java.text.DecimalFormat;

/**
 * @Package com.hex.ds.hdtp.core.app.transfer.script.util
 * @ClassName FileUtil
 * @Description 文件处理工具类
 * @Author gj.xu
 * @Date 2023/6/20 16:19
 * @Version v2.0
 **/
public class FileUtil {

    /**
     * @Method getFileSize
     * @Param [length, unit]
     * @Return java.lang.String
     * @Description 根据单位获取文件大小
     * @Author gj.xu
     * @Date 2023/6/20 16:20
     * @Version V2.0
     */
    public static String getFileSize(Long length, String unit) {
        //定义GB的计算常量
        int GB = 1024 * 1024 * 1024;
        //定义MB的计算常量
        int MB = 1024 * 1024;
        //定义KB的计算常量
        int KB = 1024;

        DecimalFormat df = new DecimalFormat("0.00");
        String resultSize = "";
        if ("GB".equals(unit)) {
            resultSize = df.format(length / (float) GB) + "GB";
        } else if ("MB".equals(unit)) {
            resultSize = df.format(length / (float) MB) + "MB";
        } else if ("KB".equals(unit)) {
            resultSize = df.format(length / (float) KB) + "KB";
        } else {
            resultSize = df.format(length / (float) KB) + "KB";
        }
        return resultSize;
    }

}
